﻿using System;

namespace Hxsoft
{
	/// <summary>
	/// 对象扩展类。
	/// </summary>
	public static class ObjectExtensions
	{
		/// <summary>
		/// 将一个对象转换为长整型值，如果转换失败则返回默认值。
		/// </summary>
		/// <param name="from">进行转换的对象。</param>
		/// <returns>转换后的长整型值。</returns>
		public static T ConvertFromOrDefault<T>(object from)
		{
			return ConvertFromOrDefault(from, default(T));
		}

		/// <summary>
		/// 将一个对象转换为长整型值，如果转换失败则返回默认值。
		/// </summary>
		/// <param name="from">进行转换的对象。</param>
		/// <param name="defaultValue">解析失败时的默认值。</param>
		/// <returns>转换后的长整型值。</returns>
		public static T ConvertFromOrDefault<T>(object from, T defaultValue)
		{
			return from == null ? defaultValue : (T)from;
		}
	}
}